package edu.suda.cxtz.modules.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public enum DataScopeEnum {

    /* 全部的数据权限 */
    ALL("全部", "全部的数据权限"),

    /* 自己部门的数据权限 */
    THIS_LEVEL("本级", "自己部门的数据权限"),

    /* 自定义的数据权限 */
    CUSTOMIZE("自定义", "自定义的数据权限");

    private final String value;
    private final String description;

    /**
     * 根据值查找数据范围枚举。
     *
     * @param val 待查找的枚举值。
     * @return 如果找到匹配的枚举值，则返回该枚举常量；否则返回null。
     */
    public static DataScopeEnum find(String val) {
        // 遍历所有DataScopeEnum枚举常量
        for (DataScopeEnum dataScopeEnum : DataScopeEnum.values()) {
            // 检查当前枚举常量的值是否与传入的值相等
            if (dataScopeEnum.getValue().equals(val)) {
                // 如果相等，返回当前枚举常量
                return dataScopeEnum;
            }
        }
        // 如果遍历完所有枚举常量后仍未找到匹配的值，返回null
        return null;
    }


}
